/***
	需要缓存的接口数据(准备工作)
	1.开始按钮  （上次填报记录的接口）	
	2.tab列表数据（历史数据带图片）
	3.历史所有详情数据（对应区间站点下）
	4.病害关键字列表
	5.病害现状列表
	6.修复措施 
	7.自定义时选择病害等级加编号(一级接口：diseaseGradeList, 二级：diseaseContent)
**/
import {doCache, doSave} from "@/utils/offline/sqlite/index.js"
import mixins from "@/utils/mixins.js"
import {cacheImageWithBase64, getImageBase64, downLoadImage} from "@/utils/imageOperation.js"
import {
	getPicture,
	deleteImg
} from '@/api/doc.js' //获取图片
import * as XUNJIAN from '@/api/engineeringMaintenance/engineeringMaintenance.js'
// #ifdef APP-PLUS
import { DB } from "@/utils/offline/sqlite/dbinit.js";
import { networkOnline } from "@/utils/offline/config"
// #endif
const currPage = 1
const pageSize = 9999
 export async function before(obj, {projectId}) {
	// const projectId = uni.getStorageSync('isOwner')
	if(!(await networkOnline())){
		uni.showToast({
			title:"请在有网络的情况下缓存数据",
			icon:'none',
			mask:true
		})
		throw new Error('请在有网络的情况下缓存数据！！！')
	}
	
	//清除选项数据 开始
	// await DB.clearTable(`diseaseGrade`)		//级联一级数据
	// await DB.clearTable(`diseaseContent`)	//级联二级数据
	// await DB.clearTable(`keywordsTable`)	//关键字数据
	// await DB.clearTable(`diseaseStatus`)	//病害现状数据
	// await DB.clearTable(`repairTable`)		//修复措施数据
	//清除选项数据 结束
	
	//清除病害数据 开始
	await DB.clearTable(`diseases`)
	await DB.clearTable(`diseaseOrderLog`)
	await DB.clearTable(`lastFillingRecord`)
	await DB.clearTable(`images`)
	await DB.clearTable(`deletedImages`)
	await DB.clearTable(`videos`)
	// await DB.clearTable(`stations`)
	//清除病害数据 结束
	
	let testObj = {
		currPage,pageSize,params:{...obj, isOffine:true}
	}
	
	//选项数据缓存  开始
	// let gradeList =  await doCache(XUNJIAN.diseaseGradeList, {currPage,pageSize,params:{projectId},})
	// const taskCacheDiseaseContents = gradeList.map(it=>
	// 	doCache(XUNJIAN.getDiseaseContent, {
	// 		diseaseGradeId:it.id
	// 	})
	// )
	// await Promise.all(taskCacheDiseaseContents)
	// await doCache(XUNJIAN.diseaseKeywordsList, {currPage,pageSize,params:{projectId,keyword:""}})
	// await doCache(XUNJIAN.diseaseStatusList, {currPage,pageSize,params:{projectId,keyword:""}})
	// await doCache(XUNJIAN.diseaseMaterialList, {currPage,pageSize,params:{projectId,queryStr:""}})
	//选项数据缓存  结束
	
	
	
	//缓存所有详情数据
	console.log(obj, '所有详情接口入参');
	await doCache(XUNJIAN.getDetailsList, obj)	
	
	//正常请求获取所有数据并将有图片信息的数据过滤（转成base64码）存到本地数据库表(images)
	// let hisDiseasesRes = await XUNJIAN.diseaseOrderGetList(testObj)
	// let hisDiseasesHasImages =  hisDiseasesRes.result.list.filter(it => it.docInfo)
	// let taskPersisDiseaseImageList = []
	// for (let item of hisDiseasesHasImages) {
	// 	let cacheImgList =  await downLoadImage(item.docId, false)
	// 	console.log(cacheImgList,'图片信息');
	// 	cacheImgList.forEach(it =>
	// 			taskPersisDiseaseImageList
	// 				.push(doSave('persisDiseaseImageList',{...it,docInfoId:item.docId},true))
	// 	)
	// }
	// await Promise.all(taskPersisDiseaseImageList)
	//缓存上次填报记录数据
	await doCache(XUNJIAN.getLastFillingRecord, obj)
}